100 REM ******************************** 110 REM 120 REM FINANCE CALCULATOR 130 REM 140 REM RE-WRITTEN FROM ORIGINAL PET 150 REM PROGRAM THAT APPEARED IN THE 160 REM AUGUST 1978 ISSUE OF KILOBAUD 170 REM 180 REM THIS VERSION BY: ROBERT W. BAKER 190 REM OF 15 WINDSOR DR, ATCO, NJ 08004 200 REM 210 REM ******************************** 220 : 230 L1$="----------------------------------------": REM 40 DASHES 240 PRINT"[147] F I N A N C E C A L C U L A T O R": PRINT L1$ 250 PRINT" INVESTMENT CALCULATIONS": PRINT 260 PRINT"1 - FUTURE VALUE OF ONE-TIME INVESTMENT" 270 PRINT"2 - FUTURE VALUE OF REGULAR DEPOSITS" 280 PRINT"3 - REGULAR DEPOSITS REQUIRED" 290 PRINT" TO CREATE A DESIRED TOTAL VALUE":PRINT 300 PRINT" LOAN CALCULATIONS":PRINT 310 PRINT"4 - REGULAR PAYMENT ON A LOAN" 320 PRINT"5 - LAST PAYMENT ON A LOAN" 330 PRINT"6 - TERM OF A LOAN" 340 PRINT"7 - REMAINING BALANCE ON A LOAN" 350 PRINT"8 - COST OF BORROWING": PRINT 360 PRINT"9 - END OF PROGRAM" 370 PRINT L1$: PRINT" DESIRED FUNCTION (1-9): "; 380 GET C$: IF C$="" THEN 380 390 V=VAL(C$): IF V=9 THEN END 400 ON V GOSUB 420,520,630,740,850,970,1080,1200 410 RUN 420 PRINT"[147]FUTURE VALUE OF ONE-TIME INVESTMENT": PRINT L1$ 430 PRINT"ENTER INITIAL INVESTMENT:": INPUT I1 440 PRINT"ENTER NOMINAL INTEREST RATE:": INPUT R 450 PRINT"TERM OF INVESTMENT (YEARS,MONTHS):": INPUT Y,M 460 PRINT"NUMBER OF COMPOUNDING PERIODS / YEAR:": INPUT N 470 R=R/N/100: Y=(12*Y+M)/12 480 T2=I1*(1+R)^(N*Y): T2=INT(T2*100+0.5)/100 490 I2=T2-I1: GOSUB 1380 500 GOSUB 1350: IF A$="Y" THEN 420 510 RETURN 520 PRINT"[147]FUTURE VALUE OF REGULAR DEPOSITS": PRINT L1$ 530 PRINT"ENTER AMOUNT OF EACH DEPOSIT:": INPUT D 540 PRINT"ENTER NOMINAL INTEREST RATE:": INPUT R 550 PRINT"TERM OF INVESTMENT (YEARS,MONTHS):": INPUT Y,M 560 PRINT"NUMBER OF DEPOSITS PER YEAR:": INPUT N 570 R=R/N/100: Y=(12*Y+M)/12 580 T2=D*((1+R)^(N*Y)-1)/R 590 T2=INT(T2*100+.5)/100 600 I1=D*Y*N: I2=T2-I1: GOSUB 1380 610 GOSUB 1350: IF A$="Y" THEN 520 620 RETURN 630 PRINT"[147]REQUIRED REGULAR DEPOSITS": PRINT L1$ 640 PRINT"ENTER THE DESIRED TOTAL VALUE:": INPUT T2 650 PRINT"ENTER NOMINAL INTEREST RATE:": INPUT R 660 PRINT"TERM OF INVESTMENT (YEARS,MONTHS):": INPUT Y,M 670 PRINT"NUMBER OF DEPOSITS PER YEAR:": INPUT N 680 R=R/N/100: Y=(12*Y+M)/12 690 D=T2*R/((1+R)^(N*Y)-1): D=INT(D*100+0.5)/100 700 X1=D: GOSUB 1430: I1=D*Y*N: I2=T2-I1 710 PRINT"REGULAR DEPOSITS: ";X$: GOSUB 1380 720 GOSUB 1350: IF A$="Y" THEN 630 730 RETURN 740 PRINT"[147]REGULAR PAYMENT ON A LOAN": PRINT L1$ 750 PRINT"ENTER THE PRINCIPAL AMOUNT:": INPUT P1 760 PRINT"ENTER TERM OF LOAN (YEARS,MONTHS):": INPUT Y,M 770 PRINT"ENTER THE ANNUAL INTEREST RATE:": INPUT R 780 PRINT"NUMBER OF PAYMENTS PER YEAR:": INPUT N 790 R=R/N/100: Y=(Y*12+M)/12 800 P3=1/(1+R)^(N*Y): P2=P1*R/(1-P3) 810 X1=P2: GOSUB 1430: PRINT L1$ 820 PRINT"REGULAR PAYMENT: ";X$: PRINT L1$ 830 GOSUB 1350: IF A$="Y" THEN 740 840 RETURN 850 PRINT"[147]LAST PAYMENT ON A LOAN": PRINT L1$ 860 PRINT"ENTER THE PRINCIPAL AMOUNT:": INPUT P1 870 PRINT"ENTER TERM OF LOAN (YEARS,MONTHS):": INPUT Y,M 880 PRINT"ENTER THE ANNUAL INTEREST RATE:": INPUT R 890 PRINT"NUMBER OF PAYMENTS PER YEAR:": INPUT N 900 PRINT"ENTER AMOUNT OF REGULAR PAYMENT:": INPUT P4 910 R=R/N/100: Y=(Y*12+M)/12: I1=N*Y 920 FOR I=1 TO I1: R1=INT(P1*R*100+0.5)/100: R2=P4-R1: P1=P1-R2: NEXT I 930 P2=P4+P1: X1=P2: GOSUB 1430: PRINT L1$ 940 PRINT"LAST PAYMENT: ";X$: PRINT L1$ 950 GOSUB 1350: IF A$="Y" THEN 850 960 RETURN 970 PRINT"[147]TERM OF A LOAN": PRINT L1$ 980 PRINT"ENTER THE PRINCIPAL AMOUNT:": INPUT P1 990 PRINT"ENTER AMOUNT OF REGULAR PAYMENT:": INPUT P4 1000 PRINT"ENTER THE ANNUAL INTEREST RATE:": INPUT R 1010 PRINT"NUMBER OF PAYMENTS PER YEAR:": INPUT N 1020 R=R/N/100: T1=1-(P1*R/P4): T2=1+R 1030 T=-(LOG(T1)/LOG(T2))/N 1040 M=INT(T*12): Y=INT(M/12): M=M-Y*12: PRINT L1$ 1050 PRINT"TERM OF LOAN: ";Y;"YEARS,";M;"MONTHS": PRINT L1$ 1060 GOSUB 1350: IF A$="Y" THEN 970 1070 RETURN 1080 PRINT"[147]REMAINING BALANCE ON A LOAN": PRINT L1$ 1090 PRINT"ENTER THE PRINCIPAL AMOUNT:": INPUT P1 1100 PRINT"ENTER AMOUNT OF REGULAR PAYMENT:": INPUT P4 1110 PRINT"ENTER THE ANNUAL INTEREST RATE:": INPUT R 1120 PRINT"NUMBER OF PAYMENTS PER YEAR:": INPUT N 1130 PRINT"NUMBER OF PAYMENTS MADE:": INPUT I1 1140 R=R/N/100 1150 FOR I=1 TO I1: R1=INT(P1*R*100+0.5)/100: R2=P4-R1: P1=P1-R2: NEXT I 1160 X1=P1: GOSUB 1430: PRINT L1$ 1170 PRINT"REMAINING BALANCE: ";X$: PRINT L1$ 1180 GOSUB 1350: IF A$="Y" THEN 1080 1190 RETURN 1200 PRINT"[147]COST OF BORROWING": PRINT L1$ 1210 PRINT"ENTER THE PRINCIPAL AMOUNT:": INPUT P1 1220 PRINT"ENTER TERM OF LOAN (YEARS,MONTHS):": INPUT Y,M 1230 PRINT"ENTER THE ANNUAL INTEREST RATE:": INPUT R 1240 PRINT"NUMBER OF PAYMENTS PER YEAR:": INPUT N 1250 R=R/N/100: Y=(Y*12+M)/12: P3=1/(1+R)^(N*Y) 1260 P4=P1*R/(1-P3): P4=INT(P4*100+0.5)/100: P5=P1: C=0: I1=N*Y 1270 FOR I=1 TO I1: R1=INT(P5*R*100+0.5)/100 1280 R2=P4-R1: P5=P5-R2: C=C+P4: NEXT I 1290 C=C+P5: C1=C-P1: PRINT L1$ 1300 X1=P4: GOSUB 1430: PRINT" REGULAR PAYMENT: ";X$ 1310 X1=C: GOSUB 1430: PRINT" TOTAL PAYMENTS: ";X$ 1320 X1=C1: GOSUB 1430: PRINT"COST OF BORROWING: ";X$ 1330 PRINT L1$: GOSUB 1350: IF A$="Y" THEN 1200 1340 RETURN 1350 PRINT"ANOTHER CALCULATION (Y/N):" 1360 GET A$: IF A$<>"Y" AND A$<>"N" THEN 1360 1370 RETURN 1380 PRINT L1$ 1390 X1=I1: GOSUB 1430: PRINT"VALUE OF YOUR INVESTMENT: ";X$ 1400 X1=I2: GOSUB 1430: PRINT"VALUE OF ACCUM. INTEREST: ";X$ 1410 X1=T2: GOSUB 1430: PRINT" TOTAL VALUE: ";X$ 1420 PRINT L1$: RETURN 1430 X1=INT(X1*100+0.5)/100 1440 X2=INT(X1): X3=(X1-X2)*100+1000 1450 X$="$"+STR$(X2)+"."+RIGHT$(STR$(X3),2): RETURN